package Servidor;

//import java.io.BufferedReader;
//import java.io.InputStreamReader;
import java.util.Vector;
import java.util.Iterator;
import Cliente.*;

public class NTaskServerImpl extends NTaskServerPOA {

    private Vector clientes = new Vector();
    //private ReadThread rt = null;

    //public NTaskServerImpl() {
	  //  rt = new ReadThread(this);
    //}

    /**
     *
     * @param lt Tipo Listener (cliente que se conecta)
     * @return true si se ha registrado correctamente
     */    
    @Override
    public boolean register(NTaskClient NTClient) {
//clients.add(lt); 
//return true;
      if (!clientes.contains(NTClient)){
         clientes.add(NTClient);
         System.out.println("Cliente añadido.");
         return true;}
      else
        return false;
    }

    @Override
    public boolean logout(NTaskClient NTClient){
      clientes.remove(NTClient);
      System.out.println("Cliente desconectado.");
      return true;
      }

  

    @Override
    public void enviarTarea (String estado, String fechaInicio, String fechaFin, String titulo,
            String mensaje, String creador, String responsable, String destino)
    {
	    Iterator it = clientes.iterator();

	    while (it.hasNext()) {

	        NTaskClient ntc = (NTaskClient) it.next();
	        if (destino.equals(ntc.getUserID())){
                
                ntc.recibirTarea(estado, fechaInicio, fechaFin, titulo, mensaje,
                                creador, responsable);
                }
        }

  }
    
}
